package com.theaf.core.error;

/**
 * 系统异常工具类
 * 
 * @author admin
 *
 */
public class SmExceptionHelper {

	/**
	 * 系统未知异常，用于
	 * 
	 * @param message
	 *            异常消息
	 * @return
	 */
	public static SmException sysUnknownException(String message) {
		return new SmException(SmException.ERR_SYS_UNKNOWN, null, message);
	}

	/**
	 * 系统层面的检查异常
	 * 
	 * @param message
	 * @return
	 */
	public static SmException sysCheckException(String message) {
		return new SmException(SmException.ERR_SYS_CHECK, null, message);
	}

	/**
	 * 请求拒绝，请求频率太高
	 * 
	 * @param message
	 * @return
	 */
	public static SmException reqFruException(String message) {
		return new SmException(SmException.ERR_REQ_FRU, null, message);
	}

	/**
	 * 请求失败，请求参数错误
	 * 
	 * @param message
	 * @return
	 */
	public static SmException reqArgValidException(String message) {
		return new SmException(SmException.ERR_REQ_ARG_NOT_VALID, null, message);
	}

	/**
	 * 请求失败，业务检查异常
	 * 
	 * @param message
	 * @return
	 */
	public static SmException reqLogValidException(String message) {
		return reqLogValidException(null, message);
	}
	
	/**
	 * 请求失败，业务检查异常
	 * 
	 * @param message
	 * @return
	 */
	public static SmException reqLogValidException(String code, String message) {
		return new SmException(SmException.ERR_REQ_LOG_NOT_VALID, code, message);
	}

	/**
	 * 请求失败，用户信息认证失败
	 * 
	 * @param message
	 * @return
	 */
	public static SmException reqAuthFailedException(String message) {
		return new SmException(SmException.ERR_REQ_AUTH_FAILED, null, message);
	}

	/**
	 * 请求拒绝，（禁止） 服务器拒绝请求，用户无访问权限
	 * 
	 * @param message
	 * @return
	 */
	public static SmException reqForbiddenException(String message) {
		return new SmException(SmException.ERR_REQ_FORBIDDEN, null, message);
	}

}
